package com.mashibing.tomcat;

/**
 * @Auther: dy
 * @Date: 2022/1/1 - 01 - 01 - 20:23
 * @Description: 定义处理Http协议的规范
 * @version: 1.0
 */
public abstract class MyHttpServlet {
    /**定义常量:请求的方法 --> Servlet需要根据请求的方式做出不同的响应*/
    private static final String METHOD_GET = "GET";
    private static final String METHOD_POST = "POST";

    /**
     * 定义执行GET请求方式的规范
     * @param myRequest 传入请求信息
     * @param myResponse 传入响应信息
     */
    public abstract void doGET(MyRequest myRequest, MyResponse myResponse);

    /**
     * 定义执行POST请求方式的规范
     * @param myRequest 传入请求信息
     * @param myResponse 传入待处理的响应信息
     */
    public abstract void doPOST(MyRequest myRequest, MyResponse myResponse);

    /**
     * 判断Http请求的方法,执行响应的响应内容
     * 注意: 每个Servlet applet程序都需要的方法,写在抽象类最好
     * @param myRequest 传入请求信息
     * @param myResponse 传入待处理的响应
     */
    public void service(MyRequest myRequest, MyResponse myResponse){
        //判断是GET还是POST请求方式 --> 非静态调用静态, 符合静态的加载
        if (METHOD_GET.equals(myRequest.getRequestMethod())){
            doGET(myRequest,myResponse);
        }else{
            doPOST(myRequest,myResponse);
        }
    }
}
